package com.day12.java3;

import java.sql.Connection;

//多态性的使用举例一：
public class AnimalTest<animal> {

    public static void main(String[] args) {
        AnimalTest test = new AnimalTest();
        test.func(new Dog());

        test.func(new Cat());
    }

    public void func(Animal animal){//Animal animal = new Dog();
        animal.eat();animal.shout();
    }


//    public void func(Dog dog){
//        dog.eat();
//        dog.shout();
//    }
//    public void func(Cat cat){
//        cat.eat();
//        cat.shout();
//    }
}
class Animal{
    public void eat(){
        System.out.println("动物进食");
    }
    public void shout(){
        System.out.println("动物：叫");
    }
}
class Dog extends Animal{
    public void eat(){
        System.out.println("狗吃骨头");
    }
    public void shout(){
        System.out.println("汪！汪！汪！");
    }
    public void watchDoor() {
        System.out.println("看门");
    }
}

class Cat extends Animal{
    public void eat(){
        System.out.println("猫吃鱼");
    }
    public void shout(){
        System.out.println("喵！喵！喵！");
    }
}

//举例二：

class Order{
    public void method(Object obj){

    }
}

//举例三：
class Driver{
    public void doDate(Connection conn){//conn = new MYSQLConnection(); 跟MySQL连接
                                        // / conn = new OracleConnection(); 跟Oracle连接
        //规范的步骤去操作数据
//        conn.method1();
//        conn.method2();
//        conn.method3();

    }
}